﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LPLib
{
    /// <summary>
    /// The features, such as the starting positions of each FR/CDR, that may be used for annotation.
    /// </summary>
    public enum GeneAnnotations
    {
        /// <summary>
        /// The position within the sequence of the first nucleotide in the gene.
        /// </summary>
        First,
        /// <summary>
        /// The initial position of cysteine 1 (for immunoglobulin domains)
        /// </summary>
        Cys1Start,
        /// <summary>
        /// The initial position of cysteine 2 (for immunoglobulin domains)
        /// </summary>
        Cys2Start,
        /// <summary>
        /// The initial position of the invariant residue in the J-encoded region (for immunoglobulin domains)
        /// </summary>
        JInvStart,
        /// <summary>
        /// The first position of Complementarity Determining Region 1 (for Ig and TCR)
        /// </summary>
        CDR1Start,
        /// <summary>
        /// The first position of Framework Region 2 (for Ig and TCR)
        /// </summary>
        FR2Start,
        /// <summary>
        /// The first position of Complementarity Determining Region 2 (for Ig and TCR)
        /// </summary>
        CDR2Start,
        /// <summary>
        /// The first position of Framework Region 3 (for Ig and TCR)
        /// </summary>
        FR3Start,
        CDR3Start,
        FR4Start,
        Last,
        FirstMatch,
        LastMatch,
        ScoreExtensionRight,
        ScoreExtensionLeft
    }

    /// <summary>
    /// Specifies which end of a Polymer is being referred to.
    /// </summary>
    public enum NucleicAcidEnd
    {
        /// <summary>
        /// The 5' end.
        /// </summary>
        FivePrime,
        /// <summary>
        /// The 3' end.
        /// </summary>
        ThreePrime
    };

    public enum SequenceFileFormat { FASTA, FASTQ };

}
